package com.eastfair.projectcore.vo;

import com.eastfair.annotation.annotation.vo.VoInfo;
import com.eastfair.vo.VoGroupClass;
import com.fasterxml.jackson.annotation.JsonInclude;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;

import java.io.Serializable;
import java.util.List;

/**
 * <p>
 * 实体类
 * 项目
 * </p>
 *
 * @author ligang
 * @since 2021-11-03
 */
@Data
@ApiModel(value = "ProjectDb", description = "项目")
public class ProjectDbVo implements Serializable {

    private static final long serialVersionUID = 1L;
    /**
     * 主键id
     */
    @ApiModelProperty(value = "主键id")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    @VoInfo(groups = {VoGroupClass.all.class})
    private Long id;
    /**
     * 项目名称
     */
    @ApiModelProperty(value = "项目名称")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    @VoInfo(groups = {VoGroupClass.all.class})
    private String name;

    /**
     * 项目英文名
     */
    @ApiModelProperty(value = "项目英文名")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    @VoInfo(groups = {VoGroupClass.all.class})
    private String enName;

    /**
     * 项目编码
     */
    @ApiModelProperty(value = "项目编码")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    @VoInfo(groups = {VoGroupClass.all.class})
    private String code;

    /**
     * 行业
     */
    @ApiModelProperty(value = "行业")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    @VoInfo(groups = {VoGroupClass.all.class})
    private String industryId;

    /**
     * 主办
     */
    @ApiModelProperty(value = "主办")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    @VoInfo(groups = {VoGroupClass.all.class})
    private String organizer;

    /**
     * 英文主办
     */
    @ApiModelProperty(value = "英文主办")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    @VoInfo(groups = {VoGroupClass.all.class})
    private String enOrganizer;

    /**
     * DB后缀名
     */
    @ApiModelProperty(value = "DB后缀名")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    @VoInfo(groups = {VoGroupClass.all.class})
    private Integer dbSuffix;

    /**
     * 表后缀名
     */
    @ApiModelProperty(value = "表后缀名")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    @VoInfo(groups = {VoGroupClass.all.class})
    private Integer tableSuffix;

    /**
     * 是否生效(默认1：可用 0:不可用)
     */
    @ApiModelProperty(value = "是否生效(默认1：可用 0:不可用)")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    @VoInfo(groups = {VoGroupClass.all.class})
    private Integer isEnabled;


    /**
     * 是否为项目管理员 1是 0否
     */
    @ApiModelProperty(value = "是否为项目管理员 1是 0否")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    @VoInfo(groups = {VoGroupClass.all.class})
    private Integer isAdmin;


    /**
     * 角色id集合
     */
    @ApiModelProperty(value = "角色id集合")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    @VoInfo(groups = {VoGroupClass.all.class})
    private List<Long> roleIds;

}
